#ifndef STUDENT_H
#define STUDENT_H

typedef struct {
    int id;
    char name[50];
    int age;
    char gender[10];
    char major[100];
    char class_name[50];
    float score;
} Student;

typedef struct StudentNode {
    Student data;
    struct StudentNode *next;
} StudentNode;

typedef struct {
    StudentNode *head;
    int count;
} StudentList;

// 创建空的学生列表
StudentList* createStudentList();

// 向学生列表中添加学生
void addStudent(StudentList *list);

// 从学生列表中删除学生
void deleteStudent(StudentList *list);

// 修改学生列表中的学生信息
void modifyStudent(StudentList *list);

// 查询学生信息
void queryStudent(const StudentList *list);

// 显示所有学生信息
void displayAllStudents(const StudentList *list);

// 排序学生信息
void sortStudents(StudentList *list);

// 释放学生列表的内存
void freeStudentList(StudentList *list);

#endif // STUDENT_H
